package com._54programer.ioc.config.config.lifecycle;

import com._54programer.ioc.config.beans.lifecycle.Dog;
import org.springframework.beans.factory.annotation.Configurable;
import org.springframework.context.annotation.Bean;

/**
 * 2.
 * @PostConstruct：在bean创建完成并且属性赋值完成；来执行初始化方法
 * @PreDestroy：在容器销毁bean之前通知我们进行清理工作
 *
 * Dog create                   构造方法
 * Dog PostConstruct            @PostConstruct
 * Dog afterPropertiesSet       实现接口
 * Dog initDog                  自定义
 * Dog PreDestroy               @PreDestroy
 * Dog destroy                  实现接口
 * Dog destroyDog               自定义
 *
 *
 */
@Configurable
public class BeanConfig3 {


    @Bean(initMethod = "initDog", destroyMethod = "destroyDog")
    public Dog dog(){
        return new Dog();
    }


}
